//
//  CommentTableView.m
//  Mtime
//
//  Created by Mac on 15/8/8.
//  Copyright (c) 2015年 wxk. All rights reserved.
//

#import "CommentTableView.h"
#import "CommentModel.h"
#import "CommentCell.h"

@implementation CommentTableView
{
    NSIndexPath *selectedIndexPath;//选中的单元格

}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    CommentCell *cell = [tableView dequeueReusableCellWithIdentifier:@"commentCell"];
    
    if (!cell) {
        
        cell = [[[NSBundle mainBundle] loadNibNamed:@"CommentCell" owner:nil options:nil] lastObject];
    }
    
    CommentModel *model = self.dataList[indexPath.row];

    cell.model = model;
    
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    
    //得到选中单元格的位置
    selectedIndexPath = indexPath;
    
    //刷新选中的单元格
    [self reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    
    //如果单元格为选中的单元格的话  返回一个新的高度
    if (indexPath == selectedIndexPath) {
        
        //返回选中的单元格的高度 －> 根据单元格中评论的内容

        //1.拿到选中单元格对应的model
        CommentModel *model = self.dataList[selectedIndexPath.row];
        
        //2.拿到选中单元格的评论内容
        NSString *summary = model.summary;
        
        
        /*根据字符串返回绘制字符应该占据的空间
         - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context NS_AVAILABLE_IOS(7_0);
         
         size：给字符串预留绘制空间
         options：NSStringDrawingUsesLineFragmentOrigin
         attributes：注意：并不是设置字符串的尺寸
         context：nil
         */
        //framelabel的尺寸坐标
        CGRect frame = [summary boundingRectWithSize:CGSizeMake(200, 999) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName :[UIFont systemFontOfSize:17]} context:nil];
        
        return frame.size.height +70;
    }
    return 150;
}


@end
